package com.sntk.registermanager.common.utils;


import com.sntk.registermanager.common.domain.model.AggregateRoot;

public interface BaseRepository<M extends AggregateRoot, I> {
    /**
     * 新增/更新
     * 新增时检查I主键占用情况
     * 更新时检查委托标识合法性
     * @param m
     * @param operator
     */
    void add(M m, String operator);
    M findByKey(I i);
    void delete(I i, String operator);
}
